package com.hushao.aimi.service;

import com.hushao.aimi.common.ServerResponse;
import com.hushao.aimi.entity.AimiProduct;
import org.springframework.data.domain.Pageable;

import java.util.Optional;

/**
 * @author 胡少
 * 商品接口
 */
public interface ProductService {

    /**
     * 添加商品
     * @param product
     * @return
     * @throws Exception
     */
    ServerResponse addProduct(AimiProduct product)throws Exception;

    /**
     * 修改商品状态
     * @param productId
     * @param status
     * @return
     * @throws Exception
     */
    ServerResponse updateProductStatus(Integer productId,Integer status)throws Exception;

    /**
     * 获取商品详细
     * @param productId
     * @return
     */
    ServerResponse productDetail(String productId);

    /**
     * 获取商品列表（分页）
     * @param name
     * @param pageable
     * @return
     */
    ServerResponse getProductByNameLike(String name, Pageable pageable);

    Long count();

    /**
     * 根据商品编号查找商品
     * @param productCode
     * @return
     */
    Optional<AimiProduct> getProductCode(String productCode);
}
